Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VideoBackends: Share GX vertex/index/uniform buffers with utility draws #7592

Merged
merged 7 commits into from Dec 4, 2018
Merged

VideoBackends: Share GX vertex/index/uniform buffers with utility draws #7592

merged 7 commits into from Dec 4, 2018

Conversation

stenzek
Copy link
Contributor

@stenzek stenzek commented Nov 27, 2018

This PR is a prerequisite for our imgui integration. It makes VertexManager a little more generic, moving some of the logic into common, and enabling buffer sharing with utility shader draws (used for imgui).

In the future, we can also use this for drawing EFB copies, and post-processing, rather than having all these different buffers sitting around the place (and duplicated across the backends). This is mainly the case in Vulkan, not so much in the others.

@delroth
Copy link
Member

delroth commented Nov 29, 2018

LGTM, had a quick look through each commit and couldn't find much else to say other than "amazing refactoring" :)

Given this is a decently large change, I'm tempted to wait 2 days and merge it after beta is tagged. Your thoughts?

@stenzek
Copy link
Contributor Author

stenzek commented Nov 29, 2018

Sounds fine to me. There is one path I haven't tested (drivers which don't support base_vertex). While I don't see any reason it should regress, I probably should check it just in case.

@delroth
Copy link
Member

delroth commented Dec 4, 2018

Could you fix the merge conflict? Thanks!

@delroth delroth merged commit 59de8ea into dolphin-emu:master Dec 4, 2018
g_renderer->SetPipeline(m_current_pipeline_object);
Draw(stride);
static_cast<Renderer*>(g_renderer.get())->SetPipeline(m_current_pipeline_object);
static_cast<Renderer*>(g_renderer.get())->DrawIndexed(base_index, num_indices, base_vertex);

This comment was marked as off-topic.

This comment was marked as off-topic.

@stenzek stenzek deleted the imgui-prereq branch December 4, 2018 14:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants